package com.ruoyi.apartments.mapper;

import java.util.List;
import com.ruoyi.apartments.domain.Apartments;
import io.lettuce.core.dynamic.annotation.Param;

/**
 * 公寓管理Mapper接口
 *
 * @author ruoyi
 * @date 2024-10-12
 */
public interface ApartmentsMapper
{
    /**
     * 查询公寓管理
     *
     * @param apartmentId 公寓管理主键
     * @return 公寓管理
     */
    public Apartments selectApartmentsByApartmentId(Long apartmentId);

    /**
     * 查询公寓管理列表
     *
     * @param apartments 公寓管理
     * @return 公寓管理集合
     */
    public List<Apartments> selectApartmentsList(Apartments apartments);

    /**
     * 新增公寓管理
     *
     * @param apartments 公寓管理
     * @return 结果
     */
    public int insertApartments(Apartments apartments);

    /**
     * 修改公寓管理
     *
     * @param apartments 公寓管理
     * @return 结果
     */
    public int updateApartments(Apartments apartments);

    /**
     * 删除公寓管理
     *
     * @param apartmentId 公寓管理主键
     * @return 结果
     */
    public int deleteApartmentsByApartmentId(Long apartmentId);

    /**
     * 批量删除公寓管理
     *
     * @param apartmentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteApartmentsByApartmentIds(Long[] apartmentIds);

    /**
     * 插入公寓设施关联
     */
    public int insertApartmentFacilities(@Param("apartmentId") Long apartmentId, @Param("facilityIds") List<Long> facilityIds);

    /**
     * 删除公寓设施关联
     */
    public int deleteApartmentFacilities(Long apartmentId);

    /**
     * 查询公寓设施
     */
    public List<Long> selectApartmentFacilities(Long apartmentId);
    /*
    * 插入公寓标签关联
    * */
    public int insertApartmentTags(@Param("apartmentId") Long apartmentId, @Param("tagIds") List<Long> tagIds);
    /*
    * 删除公寓标签关联
    * */
    public int deleteApartmentTags(Long apartmentId);
    /*
    * 查询公寓标签
    * */
    public List<Long> selectApartmentTags(Long apartmentId);
    /*
    * 插入公寓杂费关联
    * */
    public int insertApartmentFees(@Param("apartmentId") Long apartmentId, @Param("feeIds") List<Long> feeIds);
    /*
    * 删除公寓杂费关联
    * */
    public int deleteApartmentFees(Long apartmentId);
    /*
    * 查询公寓杂费
    * */
    public List<Long> selectApartmentFees(Long apartmentId);


}
